Denotational Semantics of a Parallel Object-Oriented Language
نویسندگان
چکیده
A denotational model is presented for the language POOL, a parallel objectoriented language. It is a syntactically simplified version of POOL-T, a language that is actually used to write programs for a parallel machine. The most important aspect of this language is that it describes a system as a collection of communicating objects that all have internal activities which are executed in parallel. To describe the semantics of this language we construct a mathematical domain ofprocesses. This domain is obtained as a solution of a reflexive domain equation over a category of complete metric spaces. A new technique is developed to solve a wide class of such equations, including function space constructions. The desired domain is obtained as the fixed point of a contracting functor implicit in the equation. The domain is sufficiently rich to allow a fully compositional definition of the language constructs in POOL, including concepts such as object creation and method invocation by messages. The semantic equations give a meaning to each syntactic construct depending on the POOL object executing the construct, the environment constituted by the declarations, and a continuation, representing the actions to be performed after the execution of the current construct. After the process representing the execution of an entire program is constructed, a yield function can extract the set of possible execution sequences from it. A preliminary discussion is provided on how to deal with fairness. Full mathematical details are supplied, with the exception of the general domain construction, which is described elsewhere.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملDesign of an event-oriented functional parallel language: the finite case
This paper presents the design of the core of a parallel programming language called CDS*. It is based on explicitly-distributed concrete data structures and features compositional semantics, higher-order functions and explicitly distributed objects. The denotational semantics is outlined, the (equivalent) operational semantics is presented and a new realization of the latter is given as a rewr...
متن کاملA semantic model of a small typed functional language using Object-Z
The Object-Z notation is a good meta-language that can be used to specify denotational semantics of programming languages. It has been effectively applied to some categories of languages. These include the procedural languages, the object-oriented procedural languages [9] and specification languages [8]. To widen these catergories, this paper applies Object-Z to the specification of the semanti...
متن کاملThe Essence of Parallel Algol
We consider a parallel Algol-like language, combining procedures with shared-variable parallelism. Procedures permit encapsulation of common parallel programming idioms. Local variables provide a way to restrict interference between parallel commands. The combination of local variables, procedures, and parallelism supports a form of concurrent object-oriented programming. We provide a denotatio...
متن کاملA Denotational Semantics for Joining Description Logics and Object-Oriented Programming
Despite their common roots, the paradigms of object-oriented programming and object-centered knowledge representation could not really be joined again. While the knowledge representation branch highlights clear semantics and focuses on subsumption and classification-based inference algorithms, object-oriented programming shines with flexible control structures and software-engineering issues. B...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Inf. Comput.
دوره 83 شماره
صفحات -
تاریخ انتشار 1989